在线接受短信验证码进行识别

在线接受短信验证码进行识别

点点

2021-04-11 10:25 阅读 424 喜欢 0

这个问题应该有很多人碰到吧?配合手机和app将短信提交到服务器,然后开放出来供各位网友们使用,那么肯定是收费的,也可能会有无私的网友免费共享出来。

前段时间,抓数据的时候就用到了短信验证码,找到一个 免费站点。

https://www.pdflibr.com

网站上大约一百多个短信接收号码,如果你还需要大量的,那么这里不适合你了,建议找个收费的测试下。

下边是使用,都是代码,简单记录,仅供参考。

抓取短信号码和地址

依赖 async axios cheerio sqlquery-tool //自动抓取网站上的可用手机号码并进行存储 更新 let startPage = 1; let url = https://www.pdflibr.com/?page= let host = https://www.pdflibr.com; let axios = require('axios'); let cheerio = require('cheerio'); let async = require('async');

let query = require('sqlquery-tool'); let log = require('../util/log');

//抓取单页手机号码 function fetch(url){ return axios.get(url) .then(rs=>{ let html = rs.data; let $ = cheerio.load(html); //查找是否存在手机列表信息 let $sms = $('.sms_content'); if($sms.find('.sms-number-list.row.show-grid').length == 0){//没有数据 return null; }else{ //找到符合条件的手机号码和地址信息 let phoneList = []; let $list = $sms.find('.sms-number-list.row.show-grid'); $list.each((i,item)=>{ const isChina = $(item).find('picture img').attr('src').indexOf('china') > -1; const phoneNo = $(item).find('.number-list-phone_number h3').text().replace('+86',''); const isUse = $(item).find('.number-list-info').html().trim() == '' || $(item).find('.number-list-info p:nth-child(2)').text().indexOf('小时') > -1 ? false : true; const phoneUrl = host + $(item).find('.sms-number-read a').attr('href'); if(isChina && isUse){ phoneList.push({ phoneNo : phoneNo, phoneUrl : phoneUrl }); } }) return phoneList; } }) }

async function start(){ //执行获取,从第一个开始,一直增加 try{ let startGo = true; let allArr = []; while(startGo){ let phoneList = await fetch(url+startPage); console.log(phoneList); if(phoneList == null){ startGo = false; }else{ //添加 startPage ++ ; allArr = allArr.concat(phoneList); } } //直到所有的页面全部抓完 //开始进行更新/或插入/等等 for(let info of allArr){ let hasList = await query.search('phonelist').where({phoneNo : info.phoneNo}).list(); if(hasList == null || hasList.length == 0){ let rs = await query.search('phonelist').insert(info); } } }catch(e){ console.log(e); log('手机号码',抓取失败:${e||'无'}) } }

module.exports = start; 根据手机号查找验证码

依赖 sqlquery-tool axios cheerio //获取短信验证码 let query = require('sqlquery-tool'); let axios = require('axios'); let cheerio = require('cheerio'); let log = require('../util/log');

module.exports = function(phone,datetime){ return query.search('phonelist').where({ phoneNo : phone }).list() .then(rs=>{ let pageUrl = rs[0].phoneUrl; return axios.get(pageUrl); }) .then(rs=>{ let html = rs.data; let $ = cheerio.load(html); let txtArr = []; $('.sms_content:nth-child(4) table tr').each(function(i,item){ var itemText = $(item).find('td:nth-child(3)').text(); var timestr = $(item).find('td:nth-child(4)').text();

        let d = new Date(timestr.trim());
        let time = d.getTime();
        if(datetime <  time){
            txtArr.push({
                txt : itemText,
                time : d.getTime()
            });
        }
    })
    //查找是否存在
    var phoneCode = '',getRs = false;
    for(let i=0;i<txtArr.length;i++){
        let txt = txtArr[i].txt;
        let time = txtArr[i].time;
        if(txt != '' && txt.indexOf('关键词A') > -1 && txt.indexOf('关键词B') > -1 ){
            phoneCode = txt.trim().substring(txt.trim().length - 6);
            getRs = true;
            log('短信验证码',`获得短信验证码:${phoneCode}`)
            break;
        }
    }
    return {
        success : getRs,
        result : phoneCode
    }
})

} 最近的文章确实凑活 ,一直再忙,有空在细细研究。望网友们见谅。

转载请注明出处: http://sdxlp.cn/article/在线短信 短信验证.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
现在电脑的使用率越来越普遍了,在使用的电脑的小伙伴比较好奇的是在电脑中怎么把蓝牙打开呢?
一个切小图标的方法
如果在安装nginx时不运行或安装nginx发现少了一些需要的模块的话,需要重新安装,那么如何来操作呢?
小米手机很早已推出了门禁卡功能,目前后知后觉的华为手机也在内测版的“钱包”应用内,增加了“门钥匙”功能。使用该功能结合手机NFC,可以将华为手机秒变门钥匙,轻松开门禁。免去忘记带门禁卡,在小区门口漫长等待的烦恼。
在智能手机使用中苹果手机用户量是庞大的,在我们使用苹果手机的时候,很多用户都会使用隔空投送功能,可以轻松的把自己手机的东西投送到另一台设备上,并且没有网络的情况下也可以使用,但是因为很多设备名字都类似,很多小伙伴们找不到另一台手机,想要知道苹果手机隔空投送名字怎么改?
当我们换了新电脑后,怎样可以把微信的聊天记录迁到新电脑上哪?伙伴来这里我教你,简单实用。
在开发过程中,分页是必不可少的,封装了一个分页组件,样式是基于bootstrap的样式
为实现华为手机与电脑的文件传输与共享,以下需要在手机和电脑上所做的设置是一次性的,在最初使用前设置好即可,以后使用时无需再次设置。